package com.example.temp;

public class Test14 {

    public static void main(String[] args) {

    }

    /**
     * 输入一个链表，反转链表后，输出新链表的表头。
     */

    public class ListNode {
        int val;
        ListNode next = null;

        ListNode(int val) {
            this.val = val;
        }
    }

    public class Solution {
        public ListNode ReverseList(ListNode head) {

            ListNode pre = null;
//            ListNode cur = head;
            ListNode next;

            while (head!=null){
                next = head.next;
                head.next = pre;
                pre = head;
                head = next;
            }

            return pre;
        }

        public ListNode ReverseListDigui(ListNode head){

            if (head==null||head.next==null){
                return head;
            }
            ListNode res = ReverseListDigui(head.next);
            head.next.next = head;
            head.next=null;

            return res;

        }
    }
}
